/* 
 * File:   QualityMeasurer.h
 * Author: Guilherme Monteiro
 *
 */

#ifndef QUALITYMEASURER_H
#define	QUALITYMEASURER_H
#include <vector>
#include "../../TableTranscriber2/headers/Cell.h"
#include "../../TableTranscriber2/headers/Reader.h"

using namespace std;

/**
 * Class whose responsibility is make the
 * estimation of the quality of transcription
 * of the tables by the heuristic of the TableTranscriber.
 * The selection of the better model is made by the user and
 * the control about the files by the external system.
 * 
 * @param pathUser: path to the file with the user answers
 * @param pathHeuristic: path to the file with the heuristic answers
 */
class QualityMeasurer {
public:
    QualityMeasurer(string pathUser, string pathHeuristic);
    QualityMeasurer(const QualityMeasurer& orig);
    virtual ~QualityMeasurer();
    vector<double> analiseQualityOfTranscrition();
private:
    vector<Cell> cellsUser;
    vector<Cell> cellsHeuristic;
    void setVectorOfUserCells(string pathUser);
    void setVectorOfHeuristicCells(string pathHeuristic);
};

#endif	/* QUALITYMEASURER_H */

